#pragma once

#define ENTRYAPP(x) IApplication* EntryApplication() { return new x; }

class GAME_API IApplication {
public:
	IApplication();

	virtual ~IApplication();

	virtual VOID SetupPerGameSettings() = 0;

	virtual VOID PreInitialize() = 0;

	virtual VOID Initialize() = 0;

	virtual VOID Update() = 0;
};

